import { IParam } from '../../common';
import { IPanelAbility } from '../ability';
import { PanelActionType } from '../event';
import { IPanelModel } from '../model';
import { IMDCtrlControllerParams } from './i-md-ctrl-controller-params';

/**
 * 面板部件控制器参数
 *
 * @export
 * @interface ICtrlControllerParams
 */
export interface IPanelControllerParams<T, A extends IPanelAbility>
	extends IMDCtrlControllerParams<T | PanelActionType, A> {
	/**
	 * 面板模型
	 *
	 * @type {IPanelModel}
	 * @memberof IPanelControllerParams
	 */
	model: IPanelModel;

	/**
	 * 默认加载
	 *
	 * @type {boolean}
	 * @memberof IPanelControllerParams
	 */
	isLoadDefault?: boolean;

	/**
	 * 面板数据
	 *
	 * @type {IParam}
	 * @memberof IPanelControllerParams
	 */
	data?: IParam;

	/**
	 * 视图类型
	 *
	 * @type {string}
	 * @memberof IPanelControllerParams
	 */
	viewType?: string;
}
